<?php

class ControladorUsuario extends ControladorFather {

    public $usuario;

    public function __construct() {
        $this->usuario = new Usuario(host, dbname, port, user, pass);
    }

    public function index($param) {
        
    }

    public function add() {
        if ($_SERVER['REQUEST_METHOD'] === 'POST') {



            if (!($_POST['senhaPub'] == $_POST['confirmarPub'])) {

                $result = 0;
                include_once("View/Usuario/add.php");
                return 0;
            }

            $senha = mcrypt_create_iv(20);
            $salt = $senha;
            $senha.= $_POST['senhaPub'];
            $senha = sha1($senha);

            $data = array(
                'nome' => $_POST['nomePub'],
                'login' => $_POST['loginPub'],
                'senha' => $senha,
                'salt' => utf8_encode($salt)
            );

            if ($this->usuario->save(0, $data))
                $result = 1;
            else
                $result = 0;
        }
        include_once("View/Usuario/add.php");
    }

    public function edit($param) {
        if ($_SERVER['REQUEST_METHOD'] === 'POST') {

            $usuario = new Usuario(host, dbname, port, user, pass);
            $user = $usuario->find(array('order' => array('login'), 'condition' => array('login' => "'" . $_POST['loginPub'] . "'")));
            if (sizeof($user) == 1) {
                $salt = utf8_decode($user[0]['Usuario']['salt']);
                $senha = $salt . $_POST['senhaAntigaPub'];
                $senha = sha1($senha);
                if ($user[0]['Usuario']['senha'] == $senha) {
                    if ($_POST['senhaPub'] == $_POST['confirmarPub']) {
                        $senha = mcrypt_create_iv(20);
                        $salt = $senha;
                        $senha.= $_POST['senhaPub'];
                        $senha = sha1($senha);

                        $data = array(
                            'nome' => $_POST['nomePub'],
                            'login' => $_POST['loginPub'],
                            'senha' => $senha,
                            'salt' => utf8_encode($salt)
                            );

                        if ($this->usuario->save($user[0]['Usuario']['id'], $data))
                            $result = 1;
                        else
                            $result = 0;
                    }
                }
            }
        }
        $date = $this->usuario->findById($param[0]);
        include_once("View/Usuario/edit.php");
    }

    public function listC($param) {
        if ($param != "") {
            if ($param[0] == 0) {
                $result = $this->usuario->find(array('order' => array('nome')));
                include_once("View/Usuario/listC.php");
            }
        }
    }

    public function delete($param) {

        $this->usuario->delete($param[0]);
        header("Location: index.php?c=Usuario&a=listC&p=0");
    }

}

?>
